# 字符串是 可以使用引号( ' 或 " )来创建字符串。
# Python 不支持单字符类型，单字符在 Python 中也是作为一个字符串使用
# 访问子字符串使用索引和切片，索引值以 0 为开始值，-1 为从末尾的开始位置。
var1 = 'Hello World!'
var2 = "Runoob"
 
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

#字符串的拼接
var3 = var1 + var2
print(var3)

print ("已更新字符串 : ", var1[:6] + 'Runoob!')

#字符串重复
var4 = var1 * 2
print(var4)

#字符串长度
print(len(var1))

#字符串查找【属于对象的方法，不是函数】，输出索引号
print(var1.find('o'))

#字符串替换
print(var1.replace('World','China'))

#字符串分割，分割后是列表
print(var1.split(' '))

# 转义字符
# 需要在字符中使用特殊字符时，python 用反斜杠 \ 转义字符。
# 1.续行符：在行的最后使用反斜杠 \ 继续下一行。
print("line1\
line2\
line3")
# 2.转义反斜杠符号，单引号，双引号
print("\\")
print('\'')
print("\"")
# 3.换行符：\n
print("line1\nline2\nline3")
# 4.制表符：\t  是横向制表符，\v  是纵向制表符
print("line1\tline2\tline3")
print("Hello \v World!")
# 5.八进制：\ooo   o代表 0~7 的字符，例如：\012 代表换行。
print("\101\102\103")
# 6.十六进制：\xhh  十六进制数，以 \x 开头，h 代表的字符，例如：\x0a 代表换行
print("\x41\x42\x43")
# 7.Unicode：\uhhhh
print("\u0041\u0042\u0043")
# 8.Unicode：\Uhhhhhhhh
print("\U00000041\U00000042\U00000043")
# 9.Unicode：\N{name}
print("\N{LATIN CAPITAL LETTER A}\N{LATIN CAPITAL LETTER B}\N{LATIN CAPITAL LETTER C}")
# 10.退格(Backspace)
print("Hello \b World!")
# 11.退格(Backspace)
print("Hello \b World!")
# 12.空
print("\000")
#响铃，执行后电脑有响声。
print("\a")

#回车，将 \r 后面的内容移到字符串开头，并逐一替换开头部分的字符，直至将 \r 后面的内容完全替换完成。
print("Hello\rWorld!")
print('google runoob taobao\r123456')
#换页
print("Hello \f World!")


#实例 ：使用 \r 实现百分比进度：
import time

for i in range(101):
    print("\r{:3}%".format(i),end=' ')
    time.sleep(0.05)